/*
    call做了些什么
        将函数设为对象属性
        执行&删除这个函数
        指定this到函数并传入给定参数执行函数
        如果不传入参数，默认指向window
*/

//模拟call  bar.mycall(null)

Function.prototype.mycall = function(context){
    context.fn = this;
    let args = [];
    for(let i=1,len=arguments.length;i<len;i++){
        args.push(arguments[i]);
    }
    context.fn(...args);
    let result = context.fn(...args);
    delete context.fn;
    return result;
}

